Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

653
Vistas
android studio kotlin - bluetooth "HABILITAR SOLICITUD DE ACCIÓN" no funciona

Después de iniciar mi programa, haga clic en el botón, la aplicación se cae. Cuando probé tutoriales de otros desarrolladores, Google, ... no resuelve el problema. Estoy ignorando que startActivityForResult() está en desuso, quiero pedirle al usuario que active el bluetooth, eso es todo.

El problema está en el dispositivo con Android 12.

Aquí está mi permiso del archivo de manifiesto:

 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Aquí está mi código de MainActivity.kt

 package com.example.piratsilnic import android.bluetooth.BluetoothAdapter import android.bluetooth.BluetoothManager import android.content.Context import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val BTadapter = getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager BTadapter.getAdapter() var REQUEST_ENABLE_BT = 1 val sparovatButton = findViewById<Button>(R.id.sparovatButton) sparovatButton.setOnClickListener{ if (BTadapter != null) { if (BTadapter.adapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT) } if (BTadapter.adapter.isEnabled) { Toast.makeText(this, "bluetooth on", Toast.LENGTH_LONG).show() } } else { Toast.makeText(this, "Device doesnt support bluetooth", Toast.LENGTH_LONG).show() } } } }

estoy un poco perdido... gracias por la ayuda...

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar la nueva registerForActivityResult() Para obtener más información al respecto, hay una buena guía en developer.android.com: Obtener un resultado de una actividad

Primero necesitaría registrar su devolución de llamada:

 val registerForResult = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { result -> if (result.resultCode == Activity.RESULT_OK) { val intent = result.data // Handle the Intent } }

Luego, dentro de su onClickListener lo ejecutaría.

 if (BTadapter.adapter?.isEnabled == false) { val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) regiterForResult.launch(enableBtIntent) }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda